﻿using System;
using Ausy.Silverlight.Survey.AccountModule.Model;
using Ausy.Silverlight.Survey.AccountModule.Services.ServiceEventArgs;

namespace Ausy.Silverlight.Survey.AccountModule.Services
{
    /// <summary>
    /// Cette interface définit le service de gestion des compte utilisateur
    /// </summary>
    public interface IAccountService
    {
        /// <summary>
        /// Evènement lorsque le compte est crée
        /// </summary>
        event EventHandler<AccountEventArgs> CreateAccountCompleted;

        /// <summary>
        /// Cette méyhode permet de créer un nouveau compte utilisateur
        /// </summary>
        /// <param name="account">Compte utilisateur</param>
        void CreateAccountAsync(Account account);
    }
}
